package demo8;

import java.util.Comparator;
import java.util.TreeMap;
@SuppressWarnings({"all"})
public class test {
    public static void main(String[] args) {
        //1.使用默认的构造器还是无序的，没有进行排序过程
        TreeMap map = new TreeMap(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o1).compareTo((String) o2);
            }
        });
        map.put("qwe1","111");
        map.put("awe2","111");
        map.put("qwe3","111");
        map.put("bwe4","111");
        map.put("dwe5","111");
        map.put("cwe6","111");
        map.put("twe7","111");
        System.out.println(map);
    }
}


/*
 * if (cpr != null) {
 *             do {//下面的这个就是不断地进行遍历
 *                 parent = t;
 *                 //这个地方主要就是根据这个compare方法决定的
 *                 //进行下面的这个比较，==0的时候就会直接进入else,直接return操作
 *                 //主要是我们的main方法里面的这个compare方法是如何实现的
 *                 cmp = cpr.compare(key, t.key);
 *                 //下面的这个就是不断的寻找位置的过程
 *                 if (cmp < 0)
 *                     t = t.left;
 *                 else if (cmp > 0)
 *                     t = t.right;
 *                 else {
 *                     V oldValue = t.value;
 *                     if (replaceOld || oldValue == null) {
 *                         t.value = value;
 *                     }
 *                     return oldValue;
 *                 }
 *             } while (t != null);
 * 上面第一次添加传进去的是两个一样的key，但是这个返回值不会被我们接受，
 * 这个主要是为了判断我们的这个数组是不是空的，如果是空的，这个compare方法
 * 里面就会抛异常
 */
